package com.zhu.transaction.mapper;

import com.zhu.transaction.pojo.User;
import com.zhu.transaction.pojo.reports.UserReports;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author zhu
 * @since 2021-01-07
 */
public interface UserMapper {

    //增加一个用户记录
    int addUser(User user);

    //查询所有用户
    List<User> queryAllUser(Boolean isAdmin);

    //通过用户名查找用户
    User queryUserByUsername(@Param("username") String username);

    //通过用户ID查找用户
    User queryUserByID(@Param("userID") String userID);

    //通过手机号查找用户
    User queryUserByPhone(@Param("phone") String phone);

    //通过用户名和密码查找用户
    User queryUserByUsernameAndPassword(@Param("username") String username, @Param("password") String password);

    //更新用户信息
    int updateUserInfo(User user);

    //更新用户类型
    int updateUserType(@Param("userId") String userId, @Param("type") Integer type);

    //更新用户状态
    int updateUserState(@Param("userId") String userId, @Param("type") Integer type);

    //查询用户报表
    List<UserReports> queryUserReports();

}
